iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 2
0
自我挑戰組

Tensorflow.js初學筆記系列 第 2

Day1 Tensorflow.js機器學習

  • 分享至 

  • xImage
  •  

Introduction to Machine Learning


讓你可以做到以下三件事
1.減少寫程式的時間 讓程式自己建立規則
2.客製化產品
3.不知道該怎麼解決的問題 規則不具備邏輯的事
但最重要的是
讓您可以用不同的方式來思考問題
用統計而非邏輯的角度來分析

機器學習規則-規則1:如果機器學習在產品中不是必要,不要在你沒有資料時使用他,你其實可以用啟發式演算法達到一半的效果。

Framing


監督式機器學習
一個機器學習系統,可以學習如何結合輸入,對沒見過的資料,產出有用的預測。
Label預測目標
Features 輸入變數
Example: 一個輸入變數組合的例子
Labled Example: 一個已有預測的目標的輸入變數組合
Unabled Example: 一個需要被預測的目標的輸入變數組合
Model: 映射變數組合到預測目標
Training: 利用Labled Example去創造一個模型,讓模型去學習認識Features和Label之間的關係
Inference:利用訓練的模型去預測Unabled Example的Label
Regression Model:Lable值是連續的
Classification Model:Lable值是不連續的

Descending into ML

Linear
就是做線性回歸,以前的做實驗的那套在拿出來用
因為希望預測的結果,最好是跟答案一樣
評量的標準很簡單,就是誤差 (預測的結果-答案)
因為會有正負號,而且不能讓誤差太大
會透過平方來處理誤差 (預測的結果-答案)^2
也就是L2 loss
然後加總起來取平均得到均方差Mean square error
目標就是找出最適合的w跟b
使均方差最小
此時wx+b就是最後的Model

Reducing Loss


這邊就是找出最適合的w跟b的方法
使用的就是梯度下降法Gradient Descent
假設b=0 且所有點都在此線上,令預測為w_p,最佳解為w_r
那MSE=(Σ(w_p x-w_r x)^2)/n
所以可以看出,MSE值由(w_p-w_r )^2控制
由於此方程式(w_p-w_r )^2是個二次式,有最低點,且此最低點微分為零。
也意味著當猜測某w_p時,可以進行微分得到梯度(gradient),可以知道最低點在此點的左邊或右邊。
所以首先先猜測一點w_p取得梯度後,並依據設定的學習速率來沿梯度方向前進
可以透過練習1 練習2 來了解學習速率如何影響收斂(Convergence)
batch:每一個迭代所使用的example的集合
在各種機器學習函式庫中,較常看見的應該是Stochastic Gradient Descent(SGD),基本上就是,根據上面的方式,取MSE的時候要走過每一個Example,當資料很多時,這個計算會耗費大量的時間,於是有了SGD,SGD就是每次迭代只隨機取一個來代表,當然這會讓結果的起伏(噪音)非常大,所以其實可以不用那麼極端,只要限定每次取的數量就行了。


上一篇
Day0 TensorFlow.js初學者學習之路規劃
下一篇
Day2 TensorFlow.js機器學習Part2
系列文
Tensorflow.js初學筆記27
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
阿展展展
iT邦好手 1 級 ‧ 2019-10-16 18:43:44

這是小畫家嗎
/images/emoticon/emoticon37.gif

我要留言

立即登入留言